export function removeNullUndefined(obj) {
	return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null && v != undefined && v != '' || v ===
		0 || v === false));
}
export function doCopy(val) {
	let result;
	uni.setClipboardData({
		data: val, //要被复制的内容
		success: () => { //复制成功的回调函数
			result = true;
		},
		fail: () => {
			result = false;
		}
	});

	uni.showToast({
		icon: 'none',
		duration: 3000,
		title: `${result ? '复制成功' :'复制失败'}`
	});
}
// 数组去重 去空
export function unique(arr) {
	return Array.from(new Set(arr))
}

export const caculateLL = function(lat1, lng1, lat2, lng2) {
	var radLat1 = lat1 * Math.PI / 180.0;
	var radLat2 = lat2 * Math.PI / 180.0;
	var a = radLat1 - radLat2;
	var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
	var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(
		Math.sin(b / 2), 2)));
	s = s * 6378.137;
	s = Math.round(s * 10000) / 10;
	return s;
}
//位置授权
export function getAuthorize() {
	return new Promise((resolve, reject) => {
		uni.authorize({
			scope: 'scope.userLocation',
			success: () => {
				// 1 用户允许授权
				// 2 用户之前已经同意授权，则不会出现弹窗，直接返回成功
				//  以上两种情况都会进入到success回调中
				resolve() // 允许授权
			},
			fail: () => {
				// 1 用户拒绝授权
				// 2 用户之前拒绝了授权，此接口会直接进入失败回调
				//  以上两种情况都会进入到fail回调中
				reject() // 拒绝授权
			},
		})
	})
}
